Determining whether to automatically resume first automated assistant session upon cessation of interrupting second session

ABSTRACT

Determining whether, upon cessation of a second automated assistant session that interrupted and supplanted a prior first automated assistant session: (1) to automatically resume the prior first automated assistant session, or (2) to transition to an alternative automated assistant state in which the prior first session is not automatically resumed. Implementations further relate to selectively causing, based on the determining and upon cessation of the second automated assistant session, either the automatic resumption of the prior first automated assistant session that was interrupted, or the transition to the state in which the first session is not automatically resumed.

BACKGROUND

Humans may engage in human-to-computer dialogs with interactive softwareapplications referred to herein as “automated assistants” (also referredto as “chatbots,” “interactive personal assistants,” “intelligentpersonal assistants,” “personal voice assistants,” “conversationalagents,” etc.). For example, humans—which when they interact withautomated assistants may be referred to as “users”—may provide commands,queries, and/or requests using free-form natural language input.Free-form natural language input may include vocal utterances convertedinto text using automatic speech recognition and/or typed free-formnatural language input.

Standalone voice-responsive speakers that provide users with the abilityto vocally engage with an automated assistant are becoming morecommonplace. These devices typically include few if any hardware inputmechanisms that are in addition to microphone(s), other than perhaps amute button, a touch-sensitive interface for adjusting volume, etc. Agoal of these speakers is to allow users to vocally engage withautomated assistants with ease, without requiring the users tophysically interact with certain user interface elements such as akeyboard or mouse, to perform a variety of tasks.

Conventional standalone voice-responsive speakers typically lackfull-fledged displays. At most they tend to include relatively simplyvisual output mechanisms, such as light-emitting diodes, etc., that arecapable of utilizing rudimentary colors and/or animation to conveysimple messages. The next generation of standalone voice-responsivespeakers may include more robust visual output mechanisms, such as adisplay or even a touchscreen display. These devices will be referred toherein as “standalone multi-modal assistant devices,” as opposed tostandalone voice-responsive speakers. As is the case with conventionalstandalone interactive speakers, standalone multi-modal assistantdevices may be designed to be interacted with vocally, and typicallywill not include keyboards, mice, or other complex physical inputcomponents. However, standalone multi-modal assistant devices willtypically include microphone(s) for vocal interaction and touchscreensfor interaction via various touch inputs received via the touchscreen.

SUMMARY

With standalone multi-modal assistant devices, users engaging with thedevices can often interact with the device using either touch inputs orspoken utterances. Moreover, users may engage with the devices when theyare relatively close to the device (e.g., next to or within a few feet),relatively far away from the device (e.g., more than ten feet away), andeven when they are moving around an environment. For example, a user canengage with a multi-modal assistant device to seek assistance in theperformance of a multi-step task, such as installing and configuring anew smart thermostat. During performance of the task, the user caninteract with the multi-modal assistant device via touch and/or spokeninputs to cause the multi-modal assistant device to audibly and/orgraphically render various steps and/or other guidance related toinstalling and configuring the new smart thermostat. When providing suchinputs and/or when ascertaining content rendered by the multi-modalassistant device, the user may move throughout an environment.Accordingly, the users' viewpoint with respect to a display of thedevice may change, thereby affecting the ability of the user to viewcontent rendered via the display. Further, the user's changing positionmay affect his/her ability to hear any content audibly rendered viaspeaker(s) of the multi-modal device.

In view of these and other considerations, implementations disclosedherein render, during an active session with a user, only content thatis relevant to the active session. For example, in response to a spokenutterance of “walk me through installing smart thermostat X”, a displayof the standalone multi-modal assistant device and speaker(s) of thedevice can exclusively render content that is related to installing andconfiguring “smart thermostat X”. In other words, any previouslyrendered content can be fully supplanted by the content of the activesession. For instance, assume a daily weather forecast was beingrendered on the display in a prior session in response to a prior spokenutterance of “today's weather forecast”. The display of the weatherforecast can be supplanted, in response to the spoken utterance of “walkme through installing smart thermostat X”, by visual content related to“smart thermostat X” installation in a newly active session. In theseand other manners, rendering of the content for the active session canutilize the full extent of a display and/or of speaker(s) of themulti-modal assistant device, without “splitting” a display to presentcontent from two sessions, and without simultaneously rendering audiofrom two different sessions (e.g., with one at a “lower” volume). Inaddition to conserving resources by preventing the simultaneousrendering of content from two sessions, this can also enable a user tomore readily and quickly ascertain content in an active session, therebypotentially shortening a duration of the active session.

While rendering only content that is relevant to an active sessionprovides various advantages, it can also present problems when theactive session interrupts a prior session before the prior session iscompleted. For example, upon cessation of the active session thatinterrupts the prior session, it can be unclear as to whether theinterrupted prior session should be: automatically resumed (e.g.,resumed upon cessation of the active session and without requiringfurther user interface input); not automatically resumed, but suggestedfor resumption (e.g., an interface element displayed that can be touchedto resume the prior session); not automatically resumed nor suggestedfor resumption, but resumable in response to an explicit user request(e.g., a spoken utterance of “resume prior session”); or notautomatically resumed and expired completely (e.g., data cleared frommemory to make resumption of the prior session, in its state wheninterrupted, impossible without prolonged user interaction to recreatethe state of the prior session).

Techniques that exclusively completely expire prior sessions candirectly result in waste of computer and network resources. For example,assume the prior session is in a state that is the result of multiplehuman-automated assistant dialog turns, and the user desires to returnto the prior session following cessation of an interrupting session.With techniques that exclusively completely expire prior sessions,resumption of the prior session isn't possible without again performingthe resource intensive multiple human-automated assistant dialog turnsto recreate the state of the prior session. Techniques that exclusivelyalways return to prior sessions can also directly result in waste ofcomputer and network resources. For example, where the user does notdesire to return to the prior session following cessation of aninterrupting session, again rendering content from the prior sessionand/or storing its state in memory can unnecessarily consume variousresources.

In general, challenges are presented in assistant devices in ensuringefficient management of multiple overlapping sessions and resourcesprovided for these. Particularly where one or more aspects of aninterface presented by an assistant is implemented as audio (e.g. viaspoken utterances) there is a challenge in presenting parallel sessioninformation in an environment which includes linear presentationalaspects. While multi-modal assistant devices, such as those including adisplay, may present opportunities for additional interface informationto be conveyed, they also present greater opportunities for interactionsto comprise multiple sessions. Managing the use of resources applied tooverlapping tasks in an assistant environment presents challenges notamenable to solutions previously used in alternative interfaces.

In view of these and other considerations, implementations disclosedherein relate to determining whether, upon cessation of a secondautomated assistant session that interrupted and supplanted a priorfirst automated assistant session: (1) to automatically resume the priorfirst session, or (2) to transition to an alternative state in which theprior first session is not automatically resumed. In someimplementations, when it is determined to transition to the alternativestate in which the prior first session is not automatically resumed, thealternative state can be an alternative state where the prior session isnot resumed automatically and is expired completely; an alternativestate where the prior session is not resumed automatically, but issuggested for resumption via user interface output (e.g., via renderingof a graphical element); or an alternative state where the prior sessionis not automatically resumed nor suggested for resumption, but can beresumed in response to an explicit user request. Some of thoseimplementations can always transition to the same alternative state whenit is determined to transition to the alternative state in which thefirst session is not automatically resumed. Other implementations canselect from one or more of those alternative states in determining totransition to the alternative state in which the first session is notautomatically resumed.

Implementations described herein further relate to selectively causing,upon cessation of the second session, either the automatic resumption ofthe prior first session that was interrupted, or the transition to thestate in which the first session is not automatically resumed. Thoseimplementations selectively cause one of those two actions to occurbased on the determination of whether (1) to automatically resume theprior first session, or (2) to transition to an alternative state inwhich the prior first session is not automatically resumed. As describedin detail herein, various techniques can be utilized in making such adetermination, such as techniques that take into account one or moreproperties of the prior first session and/or of the interrupting secondsession. Making such a determination and selectively causing performanceof only one of the two actions can directly result in variousadvantages. In particular, by providing alternative approaches to themanagement of transitions between sessions, improved allocation ofresources can be achieved. For example, selective automatic resumptionof the prior first session can lessen (e.g., to zero) a quantity ofinputs that a user must make to resume the prior first session, whilebeing performed only selectively and based on various consideration(s)to mitigate risk of automatic resumption when it's not desired. Also,for example, selective transitioning to a state where the prior firstsession is not automatically resumed can prevent the automatic renderingof content from the first session and/or can result in the assistantdevice transitioning to a lower-power state more quickly, while beingperformed only selectively and based on various consideration(s) tomitigate risk of non-automatic resumption when it's not desired.Further, selective performance of one of the two actions provides for animproved interaction protocol that furthers human-automated assistantinteractions in the performance of various tasks, such as controllingsmart devices, configuring smart devices, installing smart devices, etc.

In some implementations, determining whether, upon cessation of a secondsession that interrupted and supplanted a prior first session: (1) toautomatically resume the prior first session, or (2) to transition to analternative state in which the prior first session is not automaticallyresumed, is based at least in part on one or more properties of theprior first session and/or one or more properties of the second session.In some of those implementations, a utilized property of the firstsession can include a classification assigned to the first contentand/or a utilized property of the second session can include aclassification assigned to the second content. The classification canindicate, for example, whether the corresponding content is transient orenduring. In this way, it can be recognized that sessions with differingclassifications may be handled differently when included in amultiple-session environment, thus appropriately allocating resources tothat content for which they are required or desirable.

Enduring content can include, for example, content that is rendered overa plurality of dialog turns and/or that is dynamically rendered independence on user interface input during the dialog turns. Forinstance, content rendered in guiding user installation andconfiguration of a smart device can be enduring in that it is renderedover multiple dialog turns and/or in that it is rendered a dynamicmanner (e.g., if the user chooses wiring option A in a dialog turn,further content A will be provided, whereas further content B will beprovided if the user instead chooses wiring option B in the dialogturn). Enduring content can additionally or alternatively include, forexample, content whose entire rendering takes at least a thresholdduration and/or content that is of a certain type. For instance, many(or all) videos can be classified as enduring, such as music videos thatinclude at least a threshold duration of visually and audibly renderedcontent. In contrast, transient content can include content that isstatic and/or that is rendered in only a single dialog turn, such as anaudible and/or visual weather forecast, a definition for a term, ananswer to a question, etc. In some implementations, content can beclassified as enduring or transient based at least in part on a sourceof the content. For example, content from agents that provide videocontent can all be classified as enduring, whereas content from an agentthat provides weather information can be classified as transient. Insome implementations, content can be classified as enduring or transientbased at least in part on an intent determined based on a spokenutterance or a notification to which the content is responsive. Forexample, as described herein, spoken utterances can be processed toderive an intent and/or notifications can be associated with acorresponding intent, and some intents can be associated with enduringcontent while other intents can be associated with transient content.Additional and/or alternative techniques for classifying content astransient or enduring can be provided.

In some implementations, determining to automatically resume the priorfirst session can be based on content of the prior first session beingclassified as enduring and content of the second session beingclassified as transient. In some additional or alternativeimplementations, determining to transition to an alternative state inwhich the prior first session is not automatically resumed can be basedon content of the prior first session being classified as transient. Insome of those implementations, the alternative state is a state in whichthe prior first session is not resumed automatically and is expiredcompletely. In some additional or alternative implementations,determining to transition to an alternative state in which the priorfirst session is not automatically resumed can be based on content ofthe prior first session being classified as enduring, and content of thesecond session also being classified as enduring. In some versions ofthose implementations, the alternative state is a state in which theprior first session is not resumed automatically, but is suggested forresumption via user interface output (e.g., via rendering of a graphicalelement on a “home” screen, described in more detail herein). In someother versions of those implementations, the alternative state is astate where the prior session is not automatically resumed nor suggestedfor resumption, but resumable in response to an explicit user request.In some additional or alternative implementations, determining toautomatically resume the prior first session can be based on content ofthe prior first session being classified as enduring, content of thesecond session being classified as enduring, and a further determinationthat content of the prior first session embodies an entity and that adefined relationship exists between the entity content of the secondsession.

In various implementations described herein, interruption data isreceived during the rendering of first content for the first sessionand, in response to receiving the interruption data, alternative contentis rendered during a second session. In some of those implementations,the interruption data is a spoken input of the user and is determined tobe interruption data based on the spoken input including a request forthe alternative content and the alternative content being different thanthe first content of the first session. For example, the first contentof the first session can be related to configuring a smart device, thespoken input can be “how do you make a mint julep”, and can bedetermined to be interruption data based on including a request forcontent (guidance related to making a mint julep) that is unrelated tothe smart device configuration content of the first session. Incontrast, if the first content being displayed during the first sessionis one of multiple steps related to configuring a smart device, and thespoken input is “next”, the spoken input will not be determined to notbe interruption data but, instead, determined to be a request for thenext portion of the first content to be rendered.

In some additional or alternative implementations, the interruption datacan be user interface input that indicates a desire to interact with anotification that is received during the first session and is visuallyand/or audibly rendered during the rendering of the first content duringthe first session. For example, the notification can be an incomingaudio and/or visual call and an interactive graphical interface elementcan be overlaid atop visually rendered content of the first session. Anaffirmative selection of the notification graphical interface elementcan be the interruption data and the alternative content rendered duringthe second session can be the audio and/or visual call. The affirmativeselection can be, for example, a particular positive touch selection(e.g., a swipe right or a double tap) or a positive vocal utterance(e.g., “OK”, “accept the notification”). In contrast, a negativeselection of the graphical interface element (e.g., a particularnegative touch selection such as swipe down) can cause the notificationto be dismissed without interruption of the first session. Interruptiondata, as used herein, references data that indicates a desire to causealternative content to be rendered as part of an alternative session andcan be contrasted with user interface inputs that seek only to causecessation of the current cessation (e.g., a spoken command of “stop” or“pause”, a touch of an interactive “X” or other cessation graphicalelement).

In various implementations, first session data, for the interruptedfirst session can be stored and utilized to automatically resume thefirst session in a state of the first session when the interruption datawas received. In some of those implementations, the first session datais optionally persisted only in response to determining to resume thefirst session. The first session data can be stored in various ways. Insome implementations, an entire transcript of a human-to-computer dialogof the first session may be preserved so that, for instance, a state ofthe first session can be rebuilt or resumed, e.g., on the fly and/or asneeded, by detecting intents, slot values, entities, etc. in thepreserved transcript. Additionally or alternatively, in someimplementations, only core elements of a state, such as detectedintent(s), slot values, mentioned entities, etc., may be preserved invarious formats, such as JavaScript Object Notation (“JSON”) or othersimilar formats. First session data may be preserved in variouslocations. In some implementations, first session data may be persistedin memory that is local to the computing device operated by the user toengage with the automated assistant. This may give rise to varioustechnical benefits, such as mitigating latency in resumption of thefirst session. Additionally or alternatively, in some implementations,the first session data may be persisted remotely from the user'scomputing device, e.g., in memory of one or more computing systems thatcollectively operate what is often referred to as a “cloud-basedservice.”

The above description is provided as only an overview of variousimplementations described herein. Additional description of thosevarious implementations, as well as additional implementations, isprovided herein.

In some implementations, a method performed by one or more processors isprovided and includes receiving user input data indicative of a userinput detected via a user interface input component of a client device.The method further includes identifying, based on the user input data,first content that is responsive to the user input. The method furtherincludes, in response to receiving the user input data, causing theclient device to render at least part of the first content during afirst session. The method further includes receiving interruption dataduring rendering of the first content by the client device during thefirst session. The interruption data is received in response to furtheruser interface input of the user that is detected during rendering ofthe first content during the first session. The method further includes,in response to receiving the interruption data, causing the clientdevice to render alternative content during a second session that atleast temporarily replaces the first session. The alternative content isdifferent from the first content, and causing the client device torender the alternative content during the second session comprisescausing the client device to render the alternative content in lieu ofthe first content. The method further includes determining whether, uponcessation of the second session: to cause the client device toautomatically resume the first session, or to cause the client device totransition to an alternative state in which the client device does notautomatically resume the first session. The determining is based atleast on one or more properties of the first session. The method furtherincludes, upon cessation of the second session and dependent on thedetermining, selectively causing the client device to eitherautomatically resume the first session or to transition to thealternative state in which the first session is not automaticallyresumed.

These and other implementations of the technology described herein caninclude one or more of the following features.

In some implementations, the user input data includes spoken utterancedata indicative of a spoken utterance of a user detected via one or moremicrophones of a client device.

In some implementations, at least one property of the first session onwhich the determining is based includes a classification assigned to thefirst content. In some versions of those implementations, theclassification assigned to the first content indicates whether the firstcontent is transient or enduring. In some of those versions, thedetermining includes determining to cause the client device totransition to the alternative state, in which the client device does notautomatically resume the first session, based on the classificationassigned to the content indicating the first content is transient.

In some implementations, at least one property of the first session onwhich the determining is based indicates whether the first content istransient or enduring, and the determining is further based on one ormore properties of the second session. In some of those implementations,the at least one property of the second session indicates whether thealternative content is transient or enduring. In some versions of thoseimplementations, the determining includes determining to cause theclient device to automatically resume the first session based on theclassification assigned to the first content indicating the firstcontent is enduring and at least one property of the second sessionindicating the alternative content is transient. In some other versionsof those implementations, the determining includes determining to causethe client device to transition to the alternative state, in which theclient device does not automatically resume the first session, based onthe classification assigned to the first content indicating the contentis enduring and at least one property of the second session indicatingthe alternative content is enduring.

In some implementations, the further user interface input is a furtherspoken utterance of the user. In some of those implementations, themethod further includes determining the further spoken input isinterruption data based on the further spoken input including a requestfor the alternative content and the alternative content being differentthan the first content of the first session.

In some implementations, at least one property of the first session onwhich the determining is based includes an entity embodied by the firstcontent, and the determining includes determining to cause the clientdevice to automatically resume the first session based on determining arelationship between the alternative content and the entity embodied bythe first content.

In some implementations, the method further includes: receiving, duringrendering of the first content by the client device during the firstsession, a notification to be rendered at the client device; and inresponse to receiving the notification, causing the client device torender the notification. In some of those implementations, the furtheruser interface input is an affirmative touch or spoken input of the userthat is provided in response to the client device rendering thenotification, the affirmative input of the user indicates a desire ofthe user to interact with the notification, and the alternative contentis based on the notification.

In some implementations, the method further includes storing firstsession state data, for the first session, that indicates a state of thefirst session when the interruption data was received. In thoseimplementations, causing the client device to automatically resume thefirst session can include using the first session state data to resumethe first session in the state of the first session when theinterruption data was received.

In some implementations, the determining includes determining to causethe client device to transition to the state in which the client devicedoes not automatically resume the first session. In some of thoseimplementations, the method further includes, in response, clearingsession data, for the first session, from memory of the client device ora remote server in network communication with the client device.

In some implementations, the client device includes a display and atleast one speaker, and rendering the content includes rendering thecontent via the display and the at least one speaker.

In some implementations, the alternative state in which the clientdevice does not automatically resume the first session includes displayof a home screen or an ambient screen. In some versions of thoseimplementations, the display of the home screen or the ambient screenlacks any reference to the first session. In some other versions ofthose implementations, the display of the home screen or the ambientscreen includes a selectable graphical interface element that can beselected to resume the first session.

In addition, some implementations include one or more processors of oneor more computing devices, where the one or more processors are operableto execute instructions stored in associated memory, and where theinstructions are configured to cause performance of any of theaforementioned methods. Some implementations also include one or morenon-transitory computer readable storage media storing computerinstructions executable by one or more processors to perform any of theaforementioned methods.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment in whichimplementations disclosed herein may be implemented.

FIG. 2 depicts an example state machine that may be implemented inaccordance with various implementations.

FIG. 3 depicts a flowchart illustrating an example method according toimplementations disclosed herein.

FIG. 4 illustrates an example of rendering first content during a firstsession, rendering alternative content during a second session inresponse to receiving interruption data during the rendering of thefirst content during the first session, and automatically resuming thefirst session upon cessation of the second session.

FIG. 5 illustrates an example of rendering first content during a firstsession, rendering alternative content during a second session inresponse to receiving interruption data during the rendering of thefirst content during the first session, and, upon cessation of thesecond session, transitioning to an alternative state in which the firstsession is suggested for resumption, but not automatically resumed.

FIG. 6 illustrates another example of rendering first content during afirst session, rendering alternative content during a second session inresponse to receiving interruption data during the rendering of thefirst content during the first session, and automatically resuming thefirst session upon cessation of the second session.

FIG. 7 illustrates an example of rendering first content during a firstsession, rendering alternative content during a second session inresponse to receiving interruption data during the rendering of thefirst content during the first session, and, upon cessation of thesecond session, transitioning to an alternative state in which the firstsession is not automatically resumed and is not suggested forresumption.

FIG. 8 illustrates another example of rendering first content during afirst session, rendering alternative content during a second session inresponse to receiving interruption data during the rendering of thefirst content during the first session, and automatically resuming thefirst session upon cessation of the second session.

FIG. 9 is a block diagram of an example computing device.

DETAILED DESCRIPTION

Now turning to FIG. 1, an example environment in which techniquesdisclosed herein may be implemented is illustrated. The exampleenvironment includes a plurality of client computing devices 106 _(1−N).Each client device 106 may execute a respective instance of an automatedassistant client 118. One or more cloud-based automated assistantcomponents 119, such as a natural language understanding engine 135, maybe implemented on one or more computing systems (collectively referredto as a “cloud” computing system) that are communicatively coupled toclient devices 106 _(1−N) via one or more local and/or wide areanetworks (e.g., the Internet) indicated generally at 110.

In some implementations, an instance of an automated assistant client118, by way of its interactions with one or more cloud-based automatedassistant components 119, may form what appears to be, from the user'sperspective, a logical instance of an automated assistant 120 with whichthe user may engage in a human-to-computer dialog. Two instances of suchan automated assistant 120 are depicted in FIG. 1. A first automatedassistant 120A encompassed by a dashed line serves a first user (notdepicted) operating first client device 106 ₁ and includes automatedassistant client 118 ₁ and one or more cloud-based automated assistantcomponents 119. A second automated assistant 120B encompassed by adash-dash-dot line serves a second user (not depicted) operating anotherclient device 106 _(N) and includes automated assistant client 118 _(N)and one or more cloud-based automated assistant components 119.

It thus should be understood that each user that engages with anautomated assistant client 118 executing on a client device 106 may, ineffect, engage with his or her own logical instance of an automatedassistant 120. For the sakes of brevity and simplicity, the term“automated assistant” as used herein as “serving” a particular user willrefer to the combination of an automated assistant client 118 executingon a client device 106 operated by the user and one or more cloud-basedautomated assistant components 119 (which may be shared amongst multipleautomated assistant clients 118). It should also be understood that insome implementations, automated assistant 120 may respond to a requestfrom any user regardless of whether the user is actually “served” bythat particular instance of automated assistant 120.

The client devices 106 _(1−N) may include, for example, one or more of:a desktop computing device, a laptop computing device, a tabletcomputing device, a mobile phone computing device, a computing device ofa vehicle of the user (e.g., an in-vehicle communications system, anin-vehicle entertainment system, an in-vehicle navigation system), astandalone interactive speaker, a smart appliance such as a smarttelevision, and/or a wearable apparatus of the user that includes acomputing device (e.g., a watch of the user having a computing device,glasses of the user having a computing device, a virtual or augmentedreality computing device). Additional and/or alternative clientcomputing devices may be provided.

For purposes of the present disclosure, in FIG. 1, first client device106 ₁ takes the form of a standalone multi-modal assistant device with aspeaker 109 ₁ and a display 111 ₁, and may lack complex hardware inputcomponents, (aside from display 111 being a touchscreen in someimplementations) such as a keyboard or mouse. While techniques describedherein will be described in the context of being performed using astandalone multi-modal assistant device such as 106 ₁, this is not meantto be limiting. Techniques described herein may be implemented on clientdevices having other form factors (but still lacking standard keyboardsand mice), such as vehicular computing devices that are meant to beinteracted with primarily via vocal and/or touch interactions. A secondclient device 106 _(N) is a standalone voice-responsive speaker thatincludes a speaker 109 _(N) through which automated assistant 120A mayprovide natural language output. Techniques described herein canadditionally or alternatively be implemented via second client device106 _(N) in association with audio content, of sessions, rendered viathe second client device 106 _(N).

As described in more detail herein, automated assistant 120 engages inhuman-to-computer dialog sessions with one or more users via userinterface input and output devices of one or more client devices 106_(1−N). In the case of standalone multi-modal assistant devices such asclient device 106 ₁, these input devices may be limited to microphones(not depicted) and display 111 (in implementations in which display 111is a touchscreen), as well as optionally other sensors (e.g., PIR,cameras) that may be used, for example, to detect presence of a personnearby. In some implementations, automated assistant 120 may engage in ahuman-to-computer dialog session with a user in response to userinterface input provided by the user via one or more user interfaceinput devices of one of the client devices 106 _(1−N). In some of thoseimplementations, the user interface input is explicitly directed toautomated assistant 120. For example, the particular user interfaceinput may be user interaction with a hardware button and/or virtualbutton (e.g., a tap, a long tap), an oral command (e.g., “Hey AutomatedAssistant”), and/or other particular user interface input.

In some implementations, automated assistant 120 may engage in ahuman-to-computer dialog session in response to user interface input,even when that user interface input is not explicitly directed toautomated assistant 120. For example, automated assistant 120 mayexamine the contents of user interface input and engage in a dialogsession in response to certain terms being present in the user interfaceinput and/or based on other cues. In many implementations, the user canutter commands, searches, etc., and automated assistant 120 may utilizespeech recognition to convert the utterances into text, and respond tothe text accordingly, e.g., by providing search results, generalinformation, and/or taking one or more responsive actions (e.g., playingmedia, launching a game, ordering food, etc.). In some implementations,the automated assistant 120 can additionally or alternatively respond toutterances without converting the utterances into text. For example, theautomated assistant 120 can convert voice input into an embedding, intoentity representation(s) (that indicate entity/entities present in thevoice input), and/or other “non-textual” representation and operate onsuch non-textual representation. Accordingly, implementations describedherein as operating based on text converted from voice input mayadditionally and/or alternatively operate on the voice input directlyand/or other non-textual representations of the voice input.

Each of the client computing devices 106 _(1−N) and computing device(s)operating cloud-based automated assistant components 119 may include oneor more memories for storage of data and software applications, one ormore processors for accessing data and executing applications, and othercomponents that facilitate communication over a network. The operationsperformed by one or more of the client computing devices 106 _(1−N)and/or by automated assistant 120 may be distributed across multiplecomputer systems. Automated assistant 120 may be implemented as, forexample, computer programs running on one or more computers in one ormore locations that are coupled to each other through a network.

As noted above, in various implementations, each of the client computingdevices 106 _(1−N) may operate an automated assistant client 118. Invarious embodiments, each automated assistant client 118 may include acorresponding speech capture/text-to-speech (“TTS”)/speech-to-text(“STT”) module 114. In other implementations, one or more aspects ofspeech capture/TTS/STT module 114 may be implemented separately fromautomated assistant client 118. Each speech capture/TTS/STT module 114may be configured to perform one or more functions: capture a user'sspeech, e.g., via a microphone (speech capture); convert that capturedaudio to text and/or to other representations or embeddings (STT);and/or convert text to speech (TTS). For example, in someimplementations, because a client device 106 may be relativelyconstrained in terms of computing resources (e.g., processor cycles,memory, battery, etc.), the STT module 114 that is local to each clientdevice 106 may be configured to convert a finite number of differentspoken phrases to text (or to other forms, such as lower dimensionalityembeddings). Other speech input may be sent to cloud-based automatedassistant components 119, which may include a cloud-based STT module117.

Cloud-based STT module 117 may be configured to leverage the virtuallylimitless resources of the cloud to convert audio data captured byspeech capture/TTS/STT module 114 into text (which may then be providedto natural language processor 122). Cloud-based TTS module 116 may beconfigured to leverage the virtually limitless resources of the cloud toconvert textual data (e.g., natural language responses formulated byautomated assistant 120) into computer-generated speech output. In someimplementations, TTS module 116 may provide the computer-generatedspeech output to client device 106 to be output directly, e.g., usingone or more speakers. In other implementations, textual data (e.g.,natural language responses) generated by automated assistant 120 may beprovided to speech capture/TTS/STT module 114, which may then convertthe textual data into computer-generated speech that is output locally.

Automated assistant 120 (and in particular, cloud-based automatedassistant components 119) may include a natural language understandingengine 135, the aforementioned TTS module 116, the aforementioned STTmodule 117, and other components that are described in more detailbelow. In some implementations, one or more of the engines and/ormodules of automated assistant 120 may be omitted, combined, and/orimplemented in a component that is separate from automated assistant120. In some implementations, one or more of the components of automatedassistant 120, such as natural language understand engine 135, speechcapture/TTS/STT module 114, etc., may be implemented at least on part onclient devices 106 (e.g., to the exclusion of the cloud).

In some implementations, automated assistant 120 generates responsivecontent in response to various inputs generated by a user of one of theclient devices 106 _(1−N) during a human-to-computer dialog session withautomated assistant 120. Automated assistant 120 may provide theresponsive content (e.g., over one or more networks when separate from aclient device of a user) for presentation to the user as part of thedialog session. For example, automated assistant 120 may generateresponsive content in response to free-form natural language inputprovided via one of the client devices 106 _(1−N). As used herein,free-form natural language input is input that is formulated by a userand that is not constrained to a group of options presented forselection by the user.

Natural language processor 122 of natural language understanding engine135 processes natural language input generated by users via clientdevices 106 _(1−N) and may generate annotated output (e.g., in textualform) for use by one or more other components of automated assistant120. For example, the natural language processor 122 may process naturallanguage free-form input that is generated by a user via one or moreuser interface input devices of client device 106 ₁. The generatedannotated output includes one or more annotations of the naturallanguage input and optionally one or more (e.g., all) of the terms ofthe natural language input.

In some implementations, the natural language processor 122 isconfigured to identify and annotate various types of grammaticalinformation in natural language input. For example, the natural languageprocessor 122 may include a morphological engine that may separateindividual words into morphemes and/or annotate the morphemes, e.g.,with their classes. Natural language processor 122 may also include apart of speech tagger configured to annotate terms with theirgrammatical roles. Also, for example, in some implementations thenatural language processor 122 may additionally and/or alternativelyinclude a dependency parser configured to determine syntacticrelationships between terms in natural language input.

In some implementations, the natural language processor 122 mayadditionally and/or alternatively include an entity tagger configured toannotate entity references in one or more segments such as references topeople (including, for instance, literary characters, celebrities,public figures, etc.), organizations, locations (real and imaginary),and so forth. In some implementations, data about entities may be storedin one or more databases, such as in a knowledge graph (not depicted).In some implementations, the knowledge graph may include nodes thatrepresent known entities (and in some cases, entity attributes), as wellas edges that connect the nodes and represent relationships between theentities. For example, a “banana” node may be connected (e.g., as achild) to a “fruit” node,” which in turn may be connected (e.g., as achild) to “produce” and/or “food” nodes. As another example, arestaurant called “Hypothetical Café” may be represented by a node thatalso includes attributes such as its address, type of food served,hours, contact information, etc. The “Hypothetical Café” node may insome implementations be connected by an edge (e.g., representing achild-to-parent relationship) to one or more other nodes, such as a“restaurant” node, a “business” node, a node representing a city and/orstate in which the restaurant is located, and so forth.

The entity tagger of the natural language processor 122 may annotatereferences to an entity at a high level of granularity (e.g., to enableidentification of all references to an entity class such as people)and/or a lower level of granularity (e.g., to enable identification ofall references to a particular entity such as a particular person). Theentity tagger may rely on content of the natural language input toresolve a particular entity and/or may optionally communicate with aknowledge graph or other entity database to resolve a particular entity.

In some implementations, the natural language processor 122 mayadditionally and/or alternatively include a coreference resolverconfigured to group, or “cluster,” references to the same entity basedon one or more contextual cues. For example, the coreference resolvermay be utilized to resolve the term “there” to “Hypothetical Café” inthe natural language input “I liked Hypothetical Café last time we atethere.”

In some implementations, one or more components of the natural languageprocessor 122 may rely on annotations from one or more other componentsof the natural language processor 122. For example, in someimplementations the named entity tagger may rely on annotations from thecoreference resolver and/or dependency parser in annotating all mentionsto a particular entity. Also, for example, in some implementations thecoreference resolver may rely on annotations from the dependency parserin clustering references to the same entity. In some implementations, inprocessing a particular natural language input, one or more componentsof the natural language processor 122 may use related prior input and/orother related data outside of the particular natural language input todetermine one or more annotations.

Natural language understanding engine 135 may also include an intentmatcher 136 that is configured to determine, based on the annotatedoutput of natural language processor 122, an intent of a user engaged ina human-to-computer dialog session with automated assistant 120. Whiledepicted separately from natural language processor 122 in FIG. 1, inother implementations, intent matcher 136 may be an integral part ofnatural language processor 122 (or more generally, of a pipeline thatincludes natural language processor 122). In some implementations,natural language processor 122 and intent matcher 136 may collectivelyform the aforementioned “natural language understanding” engine 135.

Intent matcher 136 may use various techniques to determine an intent ofthe user. In some implementations, intent matcher 136 may have access toone or more databases 137 that include, for instance, a plurality ofmappings between grammars and responsive actions (or more generally,intents). Additionally or alternatively, in some implementations, one ormore databases 137 may store one or more machine learning models thatare trained to generate output indicative of user intent, based on theuser's input.

Grammars may be selected, formulated (e.g., by hand), and/or learnedover time, e.g., to represent the most common intents of users. Forexample, one grammar, “play <artist>”, may be mapped to an intent thatinvokes a responsive action that causes music by the <artist> to beplayed on the client device 106 operated by the user. Another grammar,“[weather|forecast] today,” may be match-able to user queries such as“what's the weather today” and “what's the forecast for today?” As seenin the “play <artist>” example grammar, some grammars have slots (e.g.,<artist>) that can be filled with slot values (or “parameters”). Slotvalues may be determined in various ways. Often users will provide theslot values proactively. For example, for a grammar “Order me a<topping> pizza,” a user may likely speak the phrase “order me a sausagepizza,” in which case the slot <topping> is filled automatically.Additionally or alternatively, if a user invokes a grammar that includesslots to be filled with slot values, without the user proactivelyproviding the slot values, automated assistant 120 may solicit thoseslot values from the user (e.g., “what type of crust do you want on yourpizza?”).

In contrast to many grammars (which may be created manually), machinelearning models may be trained automatically, e.g., using logs ofinteractions between users and automated assistants. Machine learningmodels may take various forms, such as neural networks. They may betrained in various ways to predict user intent from user input. Forexample, in some implementations, training data may be provided thatincludes individual training examples. Each training example mayinclude, for instance, free form input from a user (e.g., in textual ornon-textual form) and may be labeled (e.g., by hand) with an intent. Thetraining example may be applied as input across the machine learningmodel (e.g., a neural network) to generate output. The output may becompared to the label to determine an error. This error may be used totrain the model, e.g., using techniques such as gradient descent (e.g.,stochastic, batch, etc.) and/or back propagation to adjust weightsassociated with hidden layer(s) of the model. Once such a model istrained with a (usually large) number of training examples, it may beused to generate output that predicts intents from unlabeled free-formnatural language inputs.

In some implementations, automated assistant 120 may facilitate (or“broker”) transactions between users and applications (also referred toas agents), such as third party applications. These applications may ormay not operate on computing systems that are separate from those thatoperate, for instance, cloud-based automated assistant components 119.Accordingly, one kind of user intent that may be identified by intentmatcher 136 is to engage an application, such as a third partyapplication. For example, automated assistant 120 may provide access toan application programming interface (“API”) to a pizza deliveryservice. A user may invoke automated assistant 120 and provide a commandsuch as “I'd like to order a pizza.” Intent matcher 136 may map thiscommand to a grammar (which may be added to database 137 in some casesby the third party) that triggers automated assistant 120 to engage withthe third party pizza delivery service. The third party pizza deliveryservice may provide automated assistant 120 with a minimum list of slotsthat need to be filled in order to fulfill a pizza delivery order.Automated assistant 120 may generate and provide to the user (via clientdevice 106) natural language output that solicits parameters for theslots.

Fulfillment engine 124 may be configured to receive the intent output byintent matcher 136, as well as any associated slot values (whetherprovided by the user proactively or solicited from the user) and fulfillthe intent. In various embodiments, fulfillment of the user's intent maycause various fulfillment information to be generated/obtained, e.g., byfulfillment engine 124. As will be described below, the fulfillmentinformation may in some implementations be provided to a naturallanguage generator 126, which may generate natural language output basedon the fulfillment information.

Fulfillment information may take various forms because an intent can befulfilled in a variety of ways. Suppose a user requests pureinformation, such as “Where were the outdoor shots of ‘The Shining’filmed?” The intent of the user may be determined, e.g., by intentmatcher 136, as being a search query. The intent and content of thesearch query may be provided to fulfillment engine 124, which asdepicted in FIG. 1 may be in communication with one or more searchengines 150 configured to search corpuses of documents and/or other datasources (e.g., knowledge graphs, etc.) for responsive information.Fulfillment engine 124 may provide data indicative of the search query(e.g., the text of the query, a reduced dimensionality embedding, etc.)to search engine 150. Search engine 150 may provide responsiveinformation, such as “Timberline Lodge, Mt. Hood, Oreg.” This responsiveinformation may form part of the fulfillment information generated byfulfillment engine 124.

Additionally or alternatively, fulfillment engine 124 may be configuredto receive, e.g., from natural language understanding engine 135, auser's intent and any slot values provided by the user or determinedusing other means (e.g., GPS coordinates of the user, user preferences,etc.) and trigger a responsive action. Responsive actions may include,for instance, ordering a good/service, engaging in an interactive dialogto accomplish a task, starting a timer, setting a reminder, initiating aphone call, playing media, sending a message, etc. In some suchimplementations, fulfillment information may include slot valuesassociated with the fulfillment, confirmation responses (which may beselected from predetermined responses in some cases), etc.

As noted above, natural language generator 126 may be configured togenerate and/or select natural language output (e.g., spokenwords/phrases that are designed to mimic human speech) based on dataobtained from various sources. In some implementations, natural languagegenerator 126 may be configured to receive, as input, fulfillmentinformation associated with fulfillment of an intent by fulfillmentengine 124, and to generate natural language output based on thefulfillment information. Additionally or alternatively, natural languagegenerator 126 may receive information from other sources, such as thirdparty applications (e.g., required slots), which it may use to formulatenatural language output for the user. Moreover, as described herein,content that is provided for rendering as output to a user can includegraphical content, optionally along with corresponding audible content.

A session engine 138 can be configured to identify an active automatedassistant session occurring via first client device 106 ₁ or via secondclient device 106 _(N). The session engine 138 can cause only contentthat is relevant to the active session to be rendered during the activesession. Further, session engine 138 can be configured to, in responseto receiving interruption data during an active first session, cause therespective client device to render alternative content during a secondsession that at least temporarily replaces the second session. Thealternative content rendered during the second session is different thanthe content of the first session, and causing the client device torender the alternative content includes causing the client device torender the alternative content in lieu of the content of the firstsession.

The session engine 138 can determine that some instances of userinterface input provided by the user constitute interruption data, basedon those instances requesting alternative content be provided in lieu ofthe content being provided during the first session. In making such adetermination, the session engine 138 can rely on output from naturallanguage understanding engine 135, such as output that indicates spokeninput and/or other natural language input of the user indicates a changefrom a current intent to a new intent. When such spoken input isreceived that is interruption data, the session engine 138 can causealternative content, that is responsive to the new intent and determinedby the fulfillment engine 124, to supplant content being rendered forthe first session. The session engine 138 can additionally oralternatively determine that affirmative user interaction, with anotification provided during the first session, is interruption data.When such affirmative user interaction is received, the session engine138 can cause alternative content, that corresponds to the notification,to supplant content being rendered for the first session.

The session engine 138 can be further configured to determine whether,upon cessation of the second session: (1) to automatically resume theprior first session, or (2) to transition to an alternative state inwhich the prior first session is not automatically resumed. The sessionengine 138 is further configured to selectively cause, upon cessation ofthe second session, either the automatic resumption of the prior firstsession that was interrupted, or the transition to the state in whichthe first session is not automatically resumed. The session engine 138can selectively cause one of those two actions to occur based on thedetermination of whether (1) to automatically resume the prior firstsession, or (2) to transition to an alternative state in which the priorfirst session is not automatically resumed. As described herein, whenthe session engine 138 determines to transition to the alternative statein which the prior first session is not automatically resumed, thealternative state can be: an alternative state where the prior sessionis not resumed automatically and is expired completely; an alternativestate where the prior session is not resumed automatically, but issuggested for resumption via user interface output; or an alternativestate where the prior session is not automatically resumed nor suggestedfor resumption, but is resumable in response to an explicit userrequest.

The session engine 138 can further be configured to cause selectivetransition between various states in accordance with implementationsdescribed herein, such as display off, ambient, home, and session statesdescribed herein. For example, the session engine 138 can selectivelytransition from an interrupting session state, to either automaticresumption of a prior session state or alternatively to a state wherethe prior session state is not automatically resumed. Moreover, inimplementations where the session engine 138 transitions to a home statewhere the prior session state is not automatically resumed, the sessionengine 138 can optionally determine whether to adapt the home state(e.g., determine whether to include an interactive element for resumingthe prior session state) based on various considerations describedherein. Additional description of these and other aspects of sessionengine 138 are described herein (e.g., in the summary, and with respectto FIGS. 2-8 below). It is noted that although session engine 138 isillustrated in FIG. 1 as implemented as part of cloud-based automatedassistant component(s) 119, in various implementations all or portionsof session engine 138 can be implemented by a respective automatedassistant client 118.

FIG. 2 depicts one example state diagram that may be implemented, e.g.,by session engine 138, in accordance with various implementations. Thedepicted state diagram includes five states, DISPLAY OFF 181, AMBIENT183, HOME 185, 1^(st) SESSION 187, and 2^(nd) SESSION 189. While fivestates are depicted, fewer or more states can be provided. For example,as described herein, 2^(ND) SESSION 189 is not always an active state,but rather can be created on-demand in response to interruption databeing received while content is being rendered in 1^(st) SESSION 187.Also, for example, an additional 3^(rd) SESSION state can be createdon-demand by the session engine 138 in response to further interruptiondata being received while content is being rendered in 2^(nd) SESSION189. When such a 3^(rd) SESSION state is created, transitioning from the3^(rd) SESSION state can be handled in a manner similar to thatdescribed herein with respect to transitioning from the 2^(nd) SESSION(e.g., either the 2^(nd) SESSION 189 could be automatically resumed, oran alternative state transitioned to where the 2^(nd) SESSION 189 is notautomatically resumed).

The DISPLAY OFF 181 may be the default state in which display 111remains asleep, e.g., using little or no power. While standalonemulti-modal assistant device 106 ₁ remains alone, without people nearby,DISPLAY OFF 181 may remain the current state. In some implementations,while the current state is DISPLAY OFF 181, a user (who has not yet beendetected as present) may still request activity from automated assistant120, e.g., by speaking an invocation phrase followed by a specificrequest, which may transition the current state directly to the FIRSTSESSION 187 state.

In some implementations, when one or more persons is detected nearby(i.e., “OCCUPANCY”), the current state may be transitioned to theAMBIENT 183 state. In the AMBIENT 183 state, automated assistant 120 maycause display 111 ₁of client device 106 ₁ to render ambient content thatmay be selected, for instance, based on its aesthetic appeal. Forexample, one or more digital images and/or videos of scenery or othersimilar content can be visually displayed, optionally with audiblerendering of relaxing nature sounds. It is noted that although contentis rendered in the AMBIENT 183 state, the AMBIENT 183 state is notconsidered a session, as that term is used herein. For example, it maynot be considered a session as the content rendered in the AMBIENT 183state is not identified and rendered responsive to a spoken utterance orin response to a user acceptance of a notification. In someimplementations, if it is determined that the occupant is no longerco-present with the standalone multi-modal assistant device, e.g., forat least a predetermined time period, the current state may transitionfrom AMBIENT 183 back to DISPLAY OFF 181.

As indicated in FIG. 2, in some implementations, while the current stateis AMBIENT 183, a user may still request activity from automatedassistant 120, e.g., by speaking an invocation phrase followed by aspecific request, which may transition the current state to the FIRSTSESSION 187 state. In other implementations, there may be no AMBIENT 183state, and the current state may transition from DISPLAY OFF 181directly to HOME 185 in response to detecting co-presence of a person(OCCUPANCY).

In the HOME 185 state, various graphical elements can be rendered, suchas suggested actions for a user to perform through interaction with theautomated assistant, a current time, current weather conditions, a briefsummary of a user's calendar, etc. In some implementations, the dataitems may be displayed as cards or tiles, which may or may not beinteractive (e.g., depending on whether display 111 is a touchscreen).Data items may in some cases be ranked based on a variety of criteria,such as priorities assigned (automatically or manually) to the dataitems, an identity of the co-present person (if determined), time ofday, time of year, and so forth. When data items are presented as cards,e.g., in a stack, the ranking may be reflected, for instance, by the topcards being highest priority, with underlying cards having relativelylower priorities. When data items are presented as tiles, e.g.,occupying a portion of the display 111, the ranking may be reflected,for instance, in the placement of the tile (e.g., top left or top rightmay be highest priority) and/or in the size of the tile (e.g., thelarger the tile, the higher the priority). As described in detailherein, in various implementations, when the HOME 185 state istransitioned to prior to completion of a session that includes enduringcontent, the data items optionally include a selectable graphicalelement that can be selected to resume the session. It is noted thatalthough content is rendered in the HOME 185 state, the HOME 185 stateis not considered a session, as that term is used herein. For example,it may not be considered a session as the content rendered in the HOME185 state is not identified and rendered responsive to a spokenutterance or in response to a user acceptance of a notification.

While in the HOME 185 state, should the user engage in one or more ofthe graphical elements representing data items, e.g., by tapping a tileor card, the current state may transition to the 1^(st) SESSION 187state and render content that is responsive to the graphical element(s)interacted with by the user. For example, if one of the graphicalelements is a suggestion for a music video that may be of interest tothe user, the 1^(st) SESSION 187 state can cause audible and graphicalcontent for the music video to be rendered. Likewise, if the user uttersa vocal request to automated assistant 120 (e.g., “OK, Assistant, whatis . . . ?”), the current state may transition to the 1^(st) SESSION 187state, and render content that is responsive to the vocal request. Insome implementations, if the co-present user neither engages vocallywith automated assistant 120 nor interacts with data items rendered ondisplay 111 for at least a predetermined time interval (i.e. TIMEOUT),the current state may transition from HOME 185 back to AMBIENT 183, oreven to DISPLAY OFF 181 if there is no AMBIENT 183 state. Other eventsthat might trigger transition from the HOME 185 state to the AMBIENT 183(or DISPLAY OFF 181) state include, but are not limited to, a specificrequest from the user (e.g., tapping an exit button on display), a backgesture (e.g., waving a hand in front of a camera or other sensor) thatmay signal an intent of the co-present user to transition back toAMBIENT 183, etc.

In the 1^(st) SESSION 187 state content related to the requestedactivity or task may be exclusively rendered on display 111 andoptionally exclusively rendered via speaker(s) 191. For example, supposethe co-present user utters a vocal request for guidance installing asmart device. In response, the whole display 111 and the speaker(s) 191can be devoted to a multiple dialog turn interaction for guiding theuser through the smart device installation process. As another example,suppose the co-present user utters a vocal request for information abouta celebrity. In some implementations, responsive content may be providedvocally through the speakers 109 as natural language output by automatedassistant 120, and/or rendered on display 111. In some implementations,other content responsive to the user's request (but not necessarilyspecifically requested by the user) may be displayed while automatedassistant 120 provides the responsive content audibly. For example, ifthe user asks for the celebrity's birthday, the celebrity's birthday maybe output audibly, while other information about the celebrity (e.g.,deeplinks to show times of movies starring the celebrity, picture(s) ofthe celebrity, etc.) may be rendered on display 111.

The current state may be transitioned from the 1^(st) SESSION 187 stateback to the HOME 185 state (or even the AMBIENT 183 or DISPLAY OFF 181)in response to cessation of the 1^(st) SESSION 187. The cessation of the1^(st) SESSION 187 can occur in response to completion of rendering ofenduring content of the 1^(st) SESSION state 187 (e.g., a music video isdone playing), completion of rendering of transient content andoptionally after a time out after the completion. Other events may beconsidered cessation events, but do not constitute a completion of the1^(st) SESSION 187, such as an explicit input of the user to cancel the1^(st) SESSION 187 (e.g., a “stop” vocal utterance, a “back” touchinput, a touch input on an “X” or other cancellation interactivegraphical element), or a specific request to go back to the HOME 185state, etc.

In some implementations, activities and/or tasks of the 1^(st) SESSION187 may not be completed and/or may remain open (e.g., are notexplicitly canceled) when there is a cessation that causes transition tothe HOME 185 state. For example, a user could pause a song or video inthe middle of its rendering. As another example, a user could beginrequesting a task that requires a number of slots to be filled withactivity parameters, but may fail to fill all the required slots. Forexample, a user could begin ordering a pizza, but may stop and leave theroom to ask others what toppings they would like or to request paymentinformation from others. In some of those implementations, a new tile orcard may be caused to be rendered on display 111 in the HOME state 185that represents the incomplete 1^(st) SESSION 187. In some cases, thisnew tile or card may be tapped by the user to continue the 1^(st)SESSION 187. In many implementations, this new tile or card may only begenerated for incomplete tasks that are classified as enduring tasks(whereas no tile or card would be generated for incomplete tasks thatare instead classified as transient tasks).

As also illustrated in FIG. 2, the current state may be transitionedfrom the 1^(st) SESSION 187 state to a 2^(nd) SESSION 189 state inresponse to receiving interruption data. This can occur while the 1^(st)SESSION 187 is still active and content for the 1^(st) SESSION 187 isbeing exclusively rendered via the display 111 and/or speaker(s) 109. Asdescribed herein, the interruption data can be a spoken utteranceprovided by the user, when the spoken utterance requests alternativecontent be provided in lieu of the content being provided during the1^(st) SESSION 187. The interruption data can additionally oralternatively be affirmative user interaction, with a notificationprovided during the 1^(st) SESSION 187. Regardless of the interruptiondata, receipt of the interruption data causes transition the 2^(nd)SESSION 189 state, where alternative content, that corresponds to theinterruption data, supplants content being rendered during the 1^(st)SESSION 187 state.

Upon occurrence of cessation of the 2^(nd) SESSION 189, there is atransition to either: the 1^(st) SESSION 187, where rendering of contentof the 1^(st) SESSION 187 automatically resumes; or to the HOME 185state or AMBIENT 183 state, where rendering of content of the 1^(st)SESSION 187 state does not automatically resume. As described herein,whether transition to the 1^(st) SESSION 187 state should occur, ortransition to the HOME 185 or AMBIENT 183 state, can be dynamicallydetermined based on one or more properties of the 1^(st) SESSION 187and/or the 2^(nd) SESSION 189. Such properties can include, for example,whether the 1^(st) SESSION 187 renders enduring or transient contentand/or whether the 2^(nd) SESSION renders enduring or transient content.In situations where transition to the HOME 185 state occurs and the1^(st) SESSION 187 state renders enduring content, a selectable tile,card, or other graphical element can optionally be caused to be renderedin the HOME 185 state, where selection causes transition back to the1^(st) SESSION 187 state, where the 1^(st) SESSION 187 is then resumed.

Cessation of the 2^(nd) SESSION 189 state can occur in response tocompletion of rendering of enduring content of the 2^(nd) SESSION 189(e.g., a video is done playing), or completion of rendering of transientcontent and optionally after a time out after the completion. Otherevents may be considered cessation events for the 2^(nd) SESSION 189,but do not constitute a completion of the 2^(nd) SESSION 189, such as anexplicit input of the user to cancel the 2^(nd) SESSION 189 (e.g., a“stop” vocal utterance, a “back” touch input, a touch input on an “X” orother cancellation interactive graphical element). In many situations,cessation of the 2^(nd) SESSION 189 occurs without user input thatdirectly indicates whether the user desires to return to the 1^(st)SESSION 187. Accordingly, implementations described herein address suchsituations and can selectively, dynamically, and in a context sensitivemanner, determine whether to return to and automatically resume the1^(st) SESION 187 upon cessation of the 2^(nd) SESSION 189.

FIG. 3 is a flowchart illustrating an example method 300 according toimplementations disclosed herein. For convenience, the operations of theflowchart are described with reference to a system that performs theoperations. This system may include various components of variouscomputer systems, such as one or more components of computing systemsthat implement automated assistant 120. Moreover, while operations ofmethod 300 are shown in a particular order, this is not meant to belimiting. One or more operations may be reordered, omitted or added.

At block 302, the system identifies content that is responsive to userinterface input at an assistant device. For example, the user interfaceinput can be a spoken utterance, and the system can identify contentthat is responsive to the spoken utterance. For instance, in response to“play video X”, a video corresponding to “video X” can be identified. Asanother example, the user interface input can be a touch interactionwith a graphical element rendered on a touch-sensitive display of theassistant device, and the responsive content can be responsive to thegraphical element. For example, the graphical element can be arecommendation for “video X”, and “video X” identified in response tointeraction with the graphical element.

At block 304, the system renders content during a first session 304. Thesystem can render the content via user interface output devices of theassistant device, such as a display and/or speaker(s) of the assistantdevice. In various implementations, the system renders the contentexclusively. That is, the system renders the content without renderingany content that is unrelated to the first session (absent contentrelated to an incoming notification, which can be rendered briefly(optionally while pausing content of the first session) to enable theuser to affirmatively accept the notification). Rendering of the contentduring the first session 304 can occur over one or more dialog turnsand/or over a long duration of time.

During rendering of the content during the first session, the systemmonitors, at block 306, for cessation of the first session. If there isa cessation of the first session at block 306, the system can proceed toblock 316 and transition the display of the assistant device to a homescreen or ambient screen, as described herein. Where the display is ahome screen and the cessation of the first session detected at block 306is not a completion and is not a cancellation, block 316 can include aniteration of optional block 317, where a resumption suggestion for thefirst session is rendered on the home screen. For example, where thecessation is detected at block 306 in response to a user speaking“pause” and a timeout occurring, a selectable graphical element can berendered on the home screen that, if selected causes resumption of thefirst session and continued performance of blocks 304, 306, and 308.

If there is not a cessation of the first session at block 306, thesystem can proceed to block 308 and determine whether interruption datahas been received. Although depicted serially in FIG. 3, it is notedthat in various implementations block 306 and block 308 can be performedin parallel and/or “on demand” in response to corresponding input beingreceived. Further, blocks 304, 306, and 308 can all be performed inparallel. For example, block 304 can be continuously be performed whileblocks 306 and 308 run in the background. If, at block 308, interruptiondata is not received, the system proceeds back to block 304 andrendering of the content during the first session 304 continues (e.g.,without any interruption).

If, at an iteration of block 308, interruption data is received, thesystem proceeds to block 310 and renders alternative content in a secondsession that supplants the first session. The alternative content can beresponsive to the interruption data. For example, the alternativecontent can be responsive to a spoken utterance associated with theinterruption data, or can be responsive to a notification associatedwith the interruption data. In various implementations, the systemrenders the alternative content exclusively at block 310. That is, thesystem renders the alternative content without rendering any contentthat is unrelated to the second session (absent content related to anincoming notification, which can be rendered briefly (optionally whilepausing content of the first session) to enable the user toaffirmatively accept the notification). Rendering of the alternativecontent during the second session 310 can occur over one or more dialogturns and/or over a long duration of time.

In some implementations of block 310, the rendering of alternativecontent in the second session can supplant the first session in responseto determining that at least one required output modality for thealternative content (e.g., audible and/or visual) conflicts with atleast one output modality being used to render the first content in thefirst session. In some of those implementations, if the modalities don'tconflict (e.g., one of the alternative and first content is audible onlyand the other of the alternative and first content is visual only),block 314 can be skipped as the first session is not halted since boththe first session and the second session can co-occur through differentoutput modalities.

During rendering of the alternative content during the second session,the system monitors, at block 312, for cessation of the second session.When a cessation of the second session is detected at an iteration ofblock 312, the system proceeds to block 314 and determines whether toresume the first session.

If the system determines at block 314 to resume the first session, thesystem proceeds back to block 304, and automatically resumes therendering of the content during the first session, optionally from astate of the first session that corresponds to its state with theinterruption data was detected at block 308.

If the system determines at block 314 to not resume the first session,the system proceeds to block 316, and transitions the display of theassistant device to a home screen or ambient screen, as describedherein. Where the display is a home screen, block 316 can include aniteration of optional block 317, where a resumption suggestion for thefirst session and/or a resumption suggestion for the second session isrendered on the home screen. For example, where the first sessionincludes enduring content, a selectable graphical element can berendered on the home screen that, if selected causes resumption of thefirst session and continued performance of blocks 304, 306, and 308.Also, for example, where the second session includes enduring content,and the second session cessation of block 312 was not a completion or acancellation, a selectable graphical element can be rendered on the homescreen that, if selected, causes resumption of the second session.

In various implementations, determining whether to resume the firstsession at block 314 can be based at least in part on one or moreproperties of the first session and/or one or more properties of thesecond session, such as whether the content of the first session isenduring or transient content and/or whether the alternative content ofthe second session is enduring or transient content. Although depictedserially in FIG. 3, it is noted that in various implementations blocks310, 312, and 314 can be performed in parallel. For example, block 310can be continuously be performed while blocks 312 continuously runs inthe background, and the determination of block 314 can be preemptivelydetermined in one iteration prior to block 312 occurring.

FIG. 4 illustrates an example of rendering first content 491 during afirst session, rendering alternative content 493 during a second sessionin response to receiving interruption data during the rendering of thefirst content during the first session, and automatically resuming thefirst session upon cessation of the second session.

In FIG. 4, and as represented by the topmost first client device 106 ₁,the first content 491 can be rendered on a display of the first clientdevice 106 ₁ in response to a user request to have the automatedassistant 120 facilitate wiring of a smart thermostat. The first content491 represents just a portion of the first content that is renderedduring the first session to such a user request, and is rendered duringone of multiple dialog turns of the first session. It is noted that,although not depicted, corresponding audible content of the firstsession can also be rendered by speakers of the first client device 106₁. Prior to cessation of the first session, and while the first content491 is being rendered, the user provides a spoken utterance 492 of“what's today's weather forecast”. Such a spoken utterance 492constitutes interruption data as it is a request for alternative contentthat is unrelated to the first session.

In response to the spoken utterance, and as represented by the middlefirst client device 106 ₁, the automated assistant causes the renderingof the first content 491 to be supplanted by alternative content 493 ina second session. The alternative content 493 is responsive to thespoken utterance 492, supplants the first content 491, and is renderedexclusively by the display. It is noted that in various implementationsaudible alternative content of the second session can also be renderedby speakers of the first client device 106 ₁.

Upon cessation of the second session, and as represented by thebottommost first client device 106 ₁, the first session is automaticallyresumed. The cessation of the second session can occur, for example, inresponse to a timeout or in response to a user indicating completionthrough user interface input (e.g., speaking “Done”, swiping “back”,etc.). In some implementations, the first session can be automaticallyresumed based at least in part on the first content 491 of the firstsession being classified as enduring content, and the second content 493of the second session being classified as transient content.

FIG. 5 illustrates an example of rendering first content 591 during afirst session, rendering alternative content 592 during a second sessionin response to receiving interruption data during the rendering of thefirst content during the first session, and, upon cessation of thesecond session, transitioning to an alternative state 595 in which thefirst session is suggested for resumption, but not automaticallyresumed.

In FIG. 5, and as represented by the topmost first client device 106 ₁,the first content 591 can be rendered on a display of the first clientdevice 106 ₁ in response to a user request to have the automatedassistant 120 facilitate wiring of a smart thermostat. The first content591 can be similar to the first content 491 of FIG. 4. Prior tocessation of the first session, and while the first content 591 is beingrendered, the user provides a spoken utterance 592 of “show me a videofor making a mint julep”. Such a spoken utterance 592 constitutesinterruption data as it is a request for alternative content that isunrelated to the first session.

In response to the spoken utterance, and as represented by the middlefirst client device 106 ₁, the automated assistant causes the renderingof the first content 591 to be supplanted by alternative content 593 ina second session. The alternative content 593 is responsive to thespoken utterance 592, supplants the first content 591, and is renderedexclusively by the display. In the Example of FIG. 5, the alternativecontent 593 is an enduring video related to making a mint julep, andthat is automatically played in response to the spoken utterance 592that constitutes interruption data.

Upon cessation of the second session, and as represented by thebottommost first client device 106 ₁, the first session is notautomatically resumed. Instead, the display of the client device 106 ₁is transitioned to an alternative “home” state 595 in which the firstsession is suggested for resumption via graphical element 595 ₁, but notautomatically resumed. Graphical element 595 ₁, if selected throughtouch input, can cause the first session to be resumed. In someimplementations, the first session can be not automatically resumedbased at least in part on the alternative content 593 of the secondsession being classified as enduring content. In some implementations,the graphical element 595 ₁ can be provided based at least in part onthe first session content 591 of the first session being classified asenduring content. It is noted that in the home state 595, othergraphical elements 595 ₂ and 595 ₃ are also provided that displayupcoming events that are tailored to the user, and a local weatherforecast, respectively.

FIG. 6 illustrates another example of rendering first content 691 duringa first session, rendering alternative content 692 during a secondsession in response to receiving interruption data during the renderingof the first content during the first session, and automaticallyresuming the first session upon cessation of the second session.

In FIG. 6, and as represented by the topmost first client device 106 ₁,the first content 691 can be rendered on a display of the first clientdevice 106 ₁ in response to a user request to have the automatedassistant 120 facilitate wiring of a smart thermostat. The first content691 can be similar to the first content 491 of FIG. 4. Prior tocessation of the first session, and while the first content 691 is beingrendered, the user provides a spoken utterance 692 of “show me a videofor distinguishing ground and neutral”. Such a spoken utterance 692constitutes interruption data as it is a request for alternative contentthat is unrelated to the first session. For example, it does not causecontinuance of presentation of first content from the first session but,rather, constitutes a request for alternative content that is notincluded in the first content.

In response to the spoken utterance, and as represented by the middlefirst client device 106 ₁, the automated assistant causes the renderingof the first content 691 to be supplanted by alternative content 693 ina second session. The alternative content 693 is responsive to thespoken utterance 692, supplants the first content 691, and is renderedexclusively by the display. In the Example of FIG. 6, the alternativecontent 693 is an enduring video related to distinguishing ground andneutral wires, and that is automatically played in response to thespoken utterance 692 that constitutes interruption data.

Upon cessation of the second session, and as represented by thebottommost first client device 106 ₁, the first session is automaticallyresumed. In the example of FIG. 6, the first session is automaticallyresumed despite the alternative content of the second session beingclassified as enduring content. In some implementations, when thealternative content of the second session is classified as enduringcontent, the first session is not automatically resumed unless one ormore other conditions are present. Such an additional condition ispresent in the example of FIG. 6. Namely, the additional condition canbe determining that content of the prior first session embodies one ormore entities, such as an “electrical wiring” entity and/or moregranular “ground wire” and/or “neutral wire” entities and that a definedrelationship exists between the entities of the first session, and thealternative content of the second session. For example, the relationshipcan be that the video of the second session also embodies an “electricalwiring” entity and/or the more granular “ground wire” and/or “neutralwire” entities. Determining that such entities are embodied by the firstcontent of the first session and/or the alternative content of thesecond session can be based on terms, titles, and/or other properties ofthe content and alternative content, and can optionally be based onreference to a knowledge graph, such as a knowledge graph describedabove. For example, an entity tagger of the natural language processor122 (FIG. 1) can tag such entities based on text associated with thefirst content and the alternative content.

FIG. 7 illustrates an example of rendering first content 791 during afirst session, rendering alternative content 793 during a second sessionin response to receiving interruption data during the rendering of thefirst content during the first session, and, upon cessation of thesecond session, transitioning to an alternative state in which the firstsession is not automatically resumed and is not suggested forresumption.

In FIG. 7, and as represented by the topmost first client device 106 ₁,the first content 791 can be rendered on a display of the first clientdevice 106 ₁ in response to a user spoken utterance of “how tall is theempire state building”. The first content 791 is transient content, andrepresents an entirety of the first content that is rendered during thefirst session (absent corresponding audio content that can optionally besimultaneously rendered). Prior to cessation of the first session, andwhile the first content 791 is being rendered, the user provides aspoken utterance 792 of “what's today's weather forecast”. Such a spokenutterance 792 constitutes interruption data as it is a request foralternative content that is unrelated to the first session.

In response to the spoken utterance, and as represented by the middlefirst client device 106 ₁, the automated assistant causes the renderingof the first content 791 to be supplanted by alternative content 793 ina second session. The alternative content 793 is responsive to thespoken utterance 792, supplants the first content 791, and is renderedexclusively by the display.

Upon cessation of the second session, and as represented by thebottommost first client device 106 ₁, the first session is notautomatically resumed. Instead, the display of the client device 106 ₁is transitioned to an alternative “home” state 795 in which the firstsession is not automatically resumed and is not suggested for resumptionvia any graphical element. In some implementations, the first sessioncan be not automatically resumed and not suggested for resumption basedat least in part on the first session content 791 of the first sessionbeing classified as transient content. It is noted that in the homestate 795, graphical elements 795 ₁ and 795 ₂ are provided that displayupcoming events that are tailored to the user, and a local weatherforecast, respectively.

FIG. 8 illustrates another example of rendering first content 891 duringa first session, rendering alternative content 893 during a secondsession in response to receiving interruption data during the renderingof the first content during the first session, and automaticallyresuming the first session upon cessation of the second session.

In FIG. 8, and as represented by the topmost first client device 106 ₁,the first content 891 can be rendered on a display of the first clientdevice 106 ₁ in response to a user request to have the automatedassistant 120 facilitate wiring of a smart thermostat. Prior tocessation of the first session, and while the first content 891 is beingrendered, a notification 897 is temporarily rendered atop the firstcontent 891 during the first session. The notification 897 informs theuser of a sports score update that is available. As indicated in FIG. 8,the user “taps” the notification 897, which constitutes interruptiondata.

In response to the interruption data, and as represented by the middlefirst client device 106 ₁, the automated assistant causes the renderingof the first content 891 to be supplanted by alternative content 893 ina second session. The alternative content 893 is responsive to thenotification 897 and includes additional visual and optional contentrelated to the sports score update of the notification. The alternativecontent 893 supplants the first content 891, and is rendered exclusivelyby the display.

Upon cessation of the second session, and as represented by thebottommost first client device 106 ₁, the first session is automaticallyresumed. The cessation of the second session can occur, for example, inresponse to a timeout, in response to a user indicating completionthrough user interface input (e.g., speaking “Done”, swiping “back”),etc. In some implementations, the first session can be automaticallyresumed based at least in part on the first content 891 of the firstsession being classified as enduring content, and the second content 893of the second session being classified as transient content.

FIG. 9 is a block diagram of an example computing device 910 that mayoptionally be utilized to perform one or more aspects of techniquesdescribed herein. In some implementations, one or more of a clientcomputing device, user-controlled resources engine 130, and/or othercomponent(s) may comprise one or more components of the examplecomputing device 910.

Computing device 910 typically includes at least one processor 914 whichcommunicates with a number of peripheral devices via bus subsystem 912.These peripheral devices may include a storage subsystem 924, including,for example, a memory subsystem 925 and a file storage subsystem 926,user interface output devices 920, user interface input devices 922, anda network interface subsystem 916. The input and output devices allowuser interaction with computing device 910. Network interface subsystem916 provides an interface to outside networks and is coupled tocorresponding interface devices in other computing devices.

User interface input devices 922 may include a keyboard, pointingdevices such as a mouse, trackball, touchpad, or graphics tablet, ascanner, a touchscreen incorporated into the display, audio inputdevices such as voice recognition systems, microphones, and/or othertypes of input devices. In general, use of the term “input device” isintended to include all possible types of devices and ways to inputinformation into computing device 910 or onto a communication network.

User interface output devices 920 may include a display subsystem, aprinter, a fax machine, or non-visual displays such as audio outputdevices. The display subsystem may include a cathode ray tube (CRT), aflat-panel device such as a liquid crystal display (LCD), a projectiondevice, or some other mechanism for creating a visible image. Thedisplay subsystem may also provide non-visual display such as via audiooutput devices. In general, use of the term “output device” is intendedto include all possible types of devices and ways to output informationfrom computing device 910 to the user or to another machine or computingdevice.

Storage subsystem 924 stores programming and data constructs thatprovide the functionality of some or all of the modules describedherein. For example, the storage subsystem 924 may include the logic toperform selected aspects of the method of FIG. 3, as well as toimplement various components depicted in the figures and/or describedherein.

These software modules are generally executed by processor 914 alone orin combination with other processors. Memory 925 used in the storagesubsystem 924 can include a number of memories including a main randomaccess memory (RAM) 930 for storage of instructions and data duringprogram execution and a read only memory (ROM) 932 in which fixedinstructions are stored. A file storage subsystem 926 can providepersistent storage for program and data files, and may include a harddisk drive, a floppy disk drive along with associated removable media, aCD-ROM drive, an optical drive, or removable media cartridges. Themodules implementing the functionality of certain implementations may bestored by file storage subsystem 926 in the storage subsystem 924, or inother machines accessible by the processor(s) 914.

Bus subsystem 912 provides a mechanism for letting the variouscomponents and subsystems of computing device 910 communicate with eachother as intended. Although bus subsystem 912 is shown schematically asa single bus, alternative implementations of the bus subsystem may usemultiple busses.

Computing device 910 can be of varying types including a workstation,server, computing cluster, blade server, server farm, or any other dataprocessing system or computing device. Due to the ever-changing natureof computers and networks, the description of computing device 910depicted in FIG. 9 is intended only as a specific example for purposesof illustrating some implementations. Many other configurations ofcomputing device 910 are possible having more or fewer components thanthe computing device depicted in FIG. 9.

In situations in which certain implementations discussed herein maycollect or use personal information about users (e.g., user dataextracted from other electronic communications, information about auser's social network, a user's location, a user's time, a user'sbiometric information, and a user's activities and demographicinformation, relationships between users, etc.), users are provided withone or more opportunities to control whether information is collected,whether the personal information is stored, whether the personalinformation is used, and how the information is collected about theuser, stored and used. That is, the systems and methods discussed hereincollect, store and/or use user personal information only upon receivingexplicit authorization from the relevant users to do so.

For example, a user is provided with control over whether programs orfeatures collect user information about that particular user or otherusers relevant to the program or feature. Each user for which personalinformation is to be collected is presented with one or more options toallow control over the information collection relevant to that user, toprovide permission or authorization as to whether the information iscollected and as to which portions of the information are to becollected. For example, users can be provided with one or more suchcontrol options over a communication network. In addition, certain datamay be treated in one or more ways before it is stored or used so thatpersonally identifiable information is removed. As one example, a user'sidentity may be treated so that no personally identifiable informationcan be determined. As another example, a user's geographic location maybe generalized to a larger region so that the user's particular locationcannot be determined.

What is claimed is:
 1. A method implemented using one or moreprocessors, comprising: receiving spoken utterance data indicative of aspoken utterance of a user detected via one or more microphones of aclient device; identifying, based on the spoken utterance data, firstcontent that is responsive to the spoken utterance of the user; inresponse to receiving the spoken utterance data, causing the clientdevice to render at least part of the first content during a firstsession; receiving interruption data during rendering of the firstcontent by the client device during the first session, the interruptiondata received in response to further user interface input of the userthat is detected during rendering of the first content during the firstsession; in response to receiving the interruption data: storing sessiondata, for the first session, in local memory of the client device or inremote memory of a remote server in network communication with theclient device, wherein the session data indicates a state of the firstsession when the interruption data was received; causing the clientdevice to render alternative content during a second session that atleast temporarily replaces the first session, wherein the alternativecontent is different from the first content, and wherein causing theclient device to render the alternative content during the secondsession comprises causing the client device to render the alternativecontent in lieu of the first content; determining whether to cause theclient device to resume the first session; in response to determining tocause the client device to resume the first session: retrieving thestored session data for the first session, and resuming the firstsession in the state indicated by the session data; and in response todetermining to not cause the client device to resume the first session:causing the stored session data, for the first session, to be clearedfrom the local memory of the client device or from the remote memory ofthe remote server in network communication with the client device. 2.The method of claim 1, wherein resuming the first session in the stateindicated by the session data comprises automatically resuming the firstsession upon cessation of the second session.
 3. The method of claim 2,wherein determining whether to cause the client device to resume thefirst session is based on one or more properties of the first session.4. The method of claim 3, wherein the one or more properties of thefirst session comprise a classification assigned to the first content.5. The method of claim 4, wherein the classification assigned to thefirst content indicates whether the first content is transient orenduring.
 6. The method of claim 1, wherein determining whether to causethe client device to resume the first session is based on one or moreproperties of the first session.
 7. The method of claim 6, whereindetermining whether to cause the client device to resume the firstsession is further based on one or more properties of the secondsession.
 8. The method of claim 1, wherein storing the session data, forthe first session, comprises storing the session data in the localmemory without storing the session data in the remote memory.
 9. Amethod implemented using one or more processors, comprising: receivingspoken utterance data indicative of a spoken utterance of a userdetected via one or more microphones of a client device; identifying,based on the spoken utterance data, first content that is responsive tothe spoken utterance of the user; in response to receiving the spokenutterance data, causing the client device to render at least part of thefirst content during a first session; receiving interruption data duringrendering of the first content by the client device during the firstsession, the interruption data received in response to further userinterface input of the user that is detected during rendering of thefirst content during the first session; in response to receiving theinterruption data, causing the client device to render alternativecontent during a second session that at least temporarily replaces thefirst session, wherein the alternative content is different from thefirst content, and wherein causing the client device to render thealternative content during the second session comprises causing theclient device to render the alternative content in lieu of the firstcontent; determining whether, upon cessation of the second session: tocause the client device to automatically resume the first session, or tocause the client device to transition to an alternative state in whichthe client device does not automatically resume the first session,wherein the determining is based on one or more properties of the firstsession; upon cessation of the second session, selectively causing theclient device to either automatically resume the first session or totransition to the alternative state in which the first session is notautomatically resumed, wherein the selectively causing is dependent onthe determining; wherein, in the alternative state, resumptionsuggestion output is rendered that suggests resumption of the firstsession and wherein the first session is resumed in response toreceiving affirmative user interface input that is directed to theresumption suggestion output in the alternative state.
 10. The method ofclaim 9, wherein, in the alternative state, one or more upcoming eventsare rendered along with the resumption suggestion output.
 11. The methodof claim 9, wherein, in the alternative state, a local weather forecastis rendered along with the resumption suggestion output.
 12. The methodof claim 9, wherein the resumption suggestion output that is rendered isa selectable graphical element that is visually rendered.
 13. The methodof claim 12, wherein the affirmative user interface input is a touchinput selection of the selectable graphical element.
 14. The method ofclaim 9, wherein determining whether, upon cessation of the secondsession, to cause the client device to automatically resume the firstsession or to cause the client device to transition to the alternativestate is based on one or more properties of the first session.
 15. Themethod of claim 14, wherein the one or more properties of the firstsession comprise a classification assigned to the first content.
 16. Themethod of claim 15, wherein the classification assigned to the firstcontent indicates whether the first content is transient or enduring.17. A client device comprising: one or more microphones; one or moreprocessors; memory operably coupled with the one or more processors,wherein the memory stores instructions that, in response to execution ofthe instructions by one or more processors, cause the one or moreprocessors to: identify, based on the spoken utterance data, firstcontent that is responsive to a spoken utterance, of the user, detectedvia the one or more microphones; in response to the spoken utterancedata, render at least part of the first content during a first session;receive interruption data during rendering of the first content by theclient device during the first session, the interruption data receivedin response to further user interface input of the user that is detectedduring rendering of the first content during the first session; inresponse to receiving the interruption data: store session data, for thefirst session, in the memory, wherein the session data indicates a stateof the first session when the interruption data was received; renderalternative content during a second session that at least temporarilyreplaces the first session, wherein the alternative content is differentfrom the first content, and wherein the alternative content is renderedin lieu of the first content; determine whether to resume the firstsession; in response to determining to resume the first session:retrieve, from the memory, the stored session data for the firstsession, and resume the first session in the state indicated by thesession data; and in response to determining to not resume the firstsession: clear the stored session data, for the first session, from thememory.